home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / BRIDGE.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-27  |  2.6 KB  |  103 lines

  1. 10  'BRIDGE - Unbalanced Bridge Circuit - 08 AUG 95  rev. 27 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  COLOR 7,0,1
  5. 50  U$="######,###"
  6. 60  V$="######,###.###"
  7. 70  UL$=STRING$(80,205)
  8. 80  GOTO 210
  9. 90  '
  10. 100  '.....abbreviate resistor input line
  11. 110  LOCATE CSRLIN-1:PRINT SPC(7);
  12. 120  X=Z:X$=" -      "
  13. 130  LOCATE CSRLIN,47:PRINT STRING$(7,".");USING U$;X;:PRINT X$
  14. 140  RETURN
  15. 150  '
  16. 160  '.....format input line
  17. 170  LOCATE CSRLIN-1:PRINT SPC(7);
  18. 180  LOCATE CSRLIN,47:PRINT STRING$(7,".");USING U$;Z;
  19. 190  RETURN
  20. 200  '
  21. 210  '.....start......
  22. 220  COLOR 15,2
  23. 230  PRINT " BRIDGE CIRCUIT ANALYSIS";TAB(57);"by George Murphy VE3ERP ";
  24. 240  COLOR 1,0:PRINT STRING$(80,223);
  25. 250  COLOR 7,0
  26. 260  '
  27. 270  '.....diagram
  28. 280  T=30
  29. 290  COLOR 0,7
  30. 300  LOCATE  3,T:PRINT "                     "
  31. 310  LOCATE  4,T:PRINT "          V+         "
  32. 320  LOCATE  5,T:PRINT "     R1   CALL   R2     "
  33. 330  LOCATE  6,T:PRINT "  VARPTRSOUND/\/\/SOUNDMOTORSOUND/\/\/SOUNDCOLOR  "
  34. 340  LOCATE  7,T:PRINT "  CALL      R5       CALL  "
  35. 350  LOCATE  8,T:PRINT "  BLOADSOUNDSOUNDSOUNDSOUNDSOUND/\/\/SOUNDSOUNDSOUNDSOUNDSOUND<0xB4!>  "
  36. 360  LOCATE  9,T:PRINT "  CALL  R3       R4  CALL  "
  37. 370  LOCATE 10,T:PRINT "  CLSSOUND/\/\/SOUNDBSAVESOUND/\/\/SOUND'  "
  38. 380  LOCATE 11,T:PRINT "          CALL          "
  39. 390  LOCATE 12,T:PRINT "          V-         "
  40. 400  LOCATE 13,T:PRINT "                     "
  41. 410  COLOR 7,0
  42. 420  LOCATE 14:PRINT UL$;
  43. 430  COLOR 0,7:LOCATE CSRLIN,22
  44. 440  PRINT " Press 1 to continue or 0 to exit....."
  45. 450  COLOR 7,0
  46. 460  Z$=INKEY$:IF Z$=""THEN 460
  47. 470  IF Z$="0"THEN CLS:RUN EX$
  48. 480  IF Z$="1"THEN 490
  49. 490  LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1
  50. 500  '
  51. 510  '.....input data
  52. 520  INPUT " ENTER: Resistance R1..........................(ohms)";R1
  53. 530  Z=R1:GOSUB 100
  54. 540  INPUT " ENTER: Resistance R2..........................(ohms)";R2
  55. 550  Z=R2:GOSUB 100
  56. 560  INPUT " ENTER: Resistance R3..........................(ohms)";R3
  57. 570  Z=R3:GOSUB 100
  58. 580  INPUT " ENTER: Resistance R4..........................(ohms)";R4
  59. 590  Z=R4:GOSUB 100
  60. 600  INPUT " ENTER: Resistance R5..........................(ohms)";R5
  61. 610  Z=R5:GOSUB 100
  62. 620  INPUT " ENTER: Source Voltage V......................(volts)";VT
  63. 630  Z=VT:GOSUB 160:PRINT " volts"
  64. 640  '
  65. 650  '.....calculation
  66. 660  RTH=(R1*R3/(R1+R3))+(R2*R4/(R2+R4))
  67. 670  VTH=(R1*VT/(R1+R3))-(R2*VT/(R2+R4))
  68. 680  V5=R5*VTH/(R5+RTH)
  69. 690  I5=ABS(V5/R5)
  70. 700  IF I5>=1 THEN Y=I5:Y$=" amps"
  71. 710  IF I5<1 THEN Y=I5*10^3:Y$=" mA."
  72. 720  '
  73. 730  PRINT "        Current through R5...........................";
  74. 740  PRINT USING V$;Y;:PRINT Y$
  75. 750  PRINT "        Voltage drop across R5.......................";
  76. 760  PRINT USING V$;ABS(V5);:PRINT " volts"
  77. 770  '
  78. 780  IF V5=0 THEN 860
  79. 790  IF V5<0 THEN A$=CHR$(174)+CHR$(174)ELSE A$=CHR$(175)+CHR$(175)
  80. 800  LOCATE 8,T+ 4:PRINT A$
  81. 810  LOCATE 8,T+15:PRINT A$
  82. 820  LOCATE 13,15
  83. 830  '
  84. 840  PRINT "Current thru R5 is in the direction of the ";A$;" arrows"
  85. 850  '
  86. 860  '.....end
  87. 870  GOSUB 900
  88. 880  CLS:GOTO 210
  89. 890  '
  90. 900  'HARDCOPY
  91. 910  GOSUB 1020:LOCATE 25,2:COLOR 14,6
  92. 920  PRINT " Press 1 to print screen, 2 to print screen & ";
  93. 930  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  94. 940  Z$=INKEY$:IF Z$="3"THEN GOSUB 1020:RETURN
  95. 950  IF Z$="1"OR Z$="2"THEN GOSUB 1020:GOTO 970
  96. 960  GOTO 940
  97. 970  FOR QX=1 TO 24:FOR QY=1 TO 80
  98. 980  LPRINT CHR$(SCREEN(QX,QY));
  99. 990  NEXT QY:NEXT QX
  100. 1000  IF Z$="2"THEN LPRINT CHR$(12)
  101. 1010  GOTO 910
  102. 1020  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  103.